Skip to content

RDK-588: limit conservative scan range#1416

Open
tomasz-karczewski-red wants to merge 1 commit intoWebPlatformForEmbedded:wpe-2.38from
LibertyGlobal:RDK-588_LimitConservativeScanStackRange
Open

RDK-588: limit conservative scan range#1416
tomasz-karczewski-red wants to merge 1 commit intoWebPlatformForEmbedded:wpe-2.38from
LibertyGlobal:RDK-588_LimitConservativeScanStackRange

Conversation

@tomasz-karczewski-red
Copy link

Seems that conservative GC root scanning is going too deep into the stack and this may prevent the collection of objects - see:

#1363

The change introduces 'stack guards' that prevent this in particular cases, that is - if there is gloop main loop routine in the stack the GC root stack search will not go deeper that this frame. This avoids some 'false positives' conservative roots that can make the app hold a lot of memory - in the typical replication scenario around 200MB of memory was often left behind after exiting sky store/show apps (https://stv.prd.sky.ch/store/, https://stv.prd.sky.ch/show/), leading to oom's.

Turns out that conservative GC root scanning is going too deep into the stack
and this may prevent the collection of objects - see:

WebPlatformForEmbedded#1363

The change introduces 'stack guards' that prevent this in particular cases,
that is - if there is gloop main loop routine in the stack the GC root stack search
will not go deeper that this frame. This avoids some 'false positives' conservative roots
that can make the app hold a lot of memory.
@tomasz-karczewski-red tomasz-karczewski-red force-pushed the RDK-588_LimitConservativeScanStackRange branch from a301af9 to 1c94a4a Compare October 28, 2024 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants